import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import vueDevTools from 'vite-plugin-vue-devtools'
// 引入viteMockServe
// import { viteMockServe } from 'vite-plugin-mock'
import svgLoader from 'vite-svg-loader'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    vueDevTools(),
    svgLoader(),
    // 配置 vite-plugin-mock
    // 注释该配置项可以关闭mock
    // viteMockServe({
    //   // default
    //   // supportTs: true,
    //   logger: false,
    //   mockPath: "./mock/"
    // }),
  ],
  server: {
    port: 9001,
    proxy: {
      // 代理所有以 /api 开头的请求
      '/api': {
        target: 'http://127.0.0.1:19000', // 目标服务器地址 // http://127.0.0.1:19000
        changeOrigin: true, // 改变请求头中的host为目标URL
        ws: true, // 确保启用 WebSocket 代理
      }
    }
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    },
  },
  build: {
    outDir: "dist", // 生产构建输出目录（默认即为此值）
  },
})
